/**
 * 格式化时间
 * @param date Date对象或表示日期的字符串
 * @param fmt  转化的日期格式,如'yyyy-MM-dd'
 */
// eslint-disable-next-line import/prefer-default-export
export function format(date, fmt) {
  date = date.replace(/-/g, "/")

  if (typeof date === "string") {
    date = new Date(date)
  }
  if (/(y+)/.test(fmt)) {
    fmt = fmt.replace(RegExp.$1, (`${date.getFullYear()}`).substr(4 - RegExp.$1.length))
  }
  const o = {
    "M+": date.getMonth() + 1,
    "d+": date.getDate(),
    "h+": date.getHours(),
    "m+": date.getMinutes(),
    "s+": date.getSeconds(),
  }
  for (const k in o) {
    if (new RegExp(`(${k})`).test(fmt)) {
      const str = `${o[k]}`
      fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str))
    }
  }
  return fmt
}
const padLeftZero = (str) => (`00${str}`).substr(str.length)
